﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Data.OleDb;


namespace WindowsFormsApplication1
{
    public partial class frmCadastroCliente : Form
    {

        private String connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0" +
                                          @"Data Source=C:/Documents and Settings/Administrador/Meus documentos/Banco.mdb";
        OleDbConnection cnn = new OleDbConnection();
        OleDbCommand cmd = new OleDbCommand();
        public frmCadastroCliente()
        {
            InitializeComponent();
        }
        public void limparCampos()
        {
            txtNome.Text = "";
            txtNasc.Text = "";
            txtEmail.Text = "";
            txtEndereco.Text = "";
            txtNumero.Text = "";
            txtBairro.Text = "";
            txtCidade.Text = "";
            txtEstado.Text = "";
            txtRg.Text = "";
            txtLogin.Text = "";
            txtSenha.Text = "";

        }
        private void frmCadastroCliente_Load(object sender, EventArgs e)
        {
            limparCampos();
        }

        private void btnLimpar_Click(object sender, EventArgs e)
        {
            limparCampos();
        }

        private void txtEmail_TextChanged(object sender, EventArgs e)
        {
            string email = txtEmail.Text;

            Regex rg = new Regex(@"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$");

            if (rg.IsMatch(email))
            {
                lblEmail.Text = "Email Valido";
            }
            else
            {
                lblEmail.Text = "Email Inválido";
            }
        }

        private void btnSalvar_Click(object sender, EventArgs e)
        {
            int flag = 1;
            if (txtNome.Text.Equals(""))
            {
                MessageBox.Show("Digite o Nome", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (txtNasc.Text.Equals(""))
            {
                MessageBox.Show("Digite a Data de Nasc", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (txtEmail.Text.Equals(""))
            {
                MessageBox.Show("Digite o E-Mail", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (txtRg.Text.Equals(""))
            {
                MessageBox.Show("Digite o RG", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (txtEndereco.Text.Equals(""))
            {
                MessageBox.Show("Digite o Endereco", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if  (txtNumero.Text.Equals(""))
            {
                MessageBox.Show("Digite o Numero", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (txtBairro.Text.Equals(""))
            {
                MessageBox.Show("Digite o Bairro", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (txtCidade.Text.Equals(""))
            {
                MessageBox.Show("Digite a Cidade", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (txtEstado.Text.Equals(""))
            {
                MessageBox.Show("Digite o Estado", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (txtLogin.Text.Equals(""))
            {
                MessageBox.Show("Digite o Login", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (txtNome.Text.Equals(""))
            {
                MessageBox.Show("Digite a Senha", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                flag = 0;
            }
            if (flag == 1)
            {
                string statement = "";
                statement += " INSERT INTO ";
                statement += "   Cliente ";
                statement += " (nome,dataNasc,email,rg,endereco,numero,bairro,cidade,estado,login,senha) ";
                statement += " VALUES (@nome,@dataNasc,@email,@rg,@endereco,@numero,@bairro,@cidade,@estado,@login,@senha)";

                OleDbParameter parNome = new OleDbParameter(
                                                          "@nome", OleDbType.VarChar);
                parNome.Value = txtNome.Text;

                OleDbParameter pardataNasc = new OleDbParameter(
                                                          "@dataNasc", OleDbType.VarChar);
                pardataNasc.Value = txtNasc.Text;

                OleDbParameter parEmail = new OleDbParameter(
                                                          "@email", OleDbType.VarChar);
                parEmail.Value = txtEmail.Text;

                OleDbParameter parRg = new OleDbParameter(
                                                          "@rg", OleDbType.VarChar);
                parRg.Value = txtRg.Text;

                OleDbParameter parEndereco = new OleDbParameter(
                                                          "@endereco", OleDbType.VarChar);
                parEndereco.Value = txtEndereco.Text;

                OleDbParameter parNumero = new OleDbParameter(
                                                          "@numero", OleDbType.VarChar);
                parNumero.Value = txtNumero.Text;

                OleDbParameter parBairro = new OleDbParameter(
                                                          "@bairro", OleDbType.VarChar);
                parBairro.Value = txtBairro.Text;

                OleDbParameter parCidade = new OleDbParameter(
                                                          "@cidade", OleDbType.VarChar);
                parCidade.Value = txtCidade.Text;

                OleDbParameter parEstado = new OleDbParameter(
                                                          "@estado", OleDbType.VarChar);
                parEstado.Value = txtEstado.Text ;

                OleDbParameter parLogin = new OleDbParameter(
                                                          "@login", OleDbType.VarChar);
                parLogin.Value = txtLogin.Text;

                OleDbParameter parSenha = new OleDbParameter(
                                                          "@senha", OleDbType.VarChar);
                parSenha.Value = txtSenha.Text;

                cnn = new OleDbConnection(connectionString);
                cnn.Open();
                cmd = new OleDbCommand(statement, cnn);

                cmd.Parameters.Add(parNome);
                cmd.Parameters.Add(pardataNasc);
                cmd.Parameters.Add(parEmail);
                cmd.Parameters.Add(parRg);
                cmd.Parameters.Add(parEndereco);
                cmd.Parameters.Add(parNumero);
                cmd.Parameters.Add(parBairro);
                cmd.Parameters.Add(parCidade);
                cmd.Parameters.Add(parEstado);
                cmd.Parameters.Add(parLogin);
                cmd.Parameters.Add(parSenha);
                

                cmd.ExecuteNonQuery();

                cnn.Close();
                MessageBox.Show("Salvo Com Sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                limparCampos();

            }
        }

      
    }
}
